package com.miyake.dsp;

import com.miyake.dsp.circuit.RcSetting;
import com.miyake.dsp.converter.AmplifierSetting;
import com.miyake.dsp.converter.DiffImplOctave;
import com.miyake.dsp.converter.DigitizerSetting;
import com.miyake.dsp.converter.MovingAverageSetting;
import com.miyake.dsp.converter.OffsetSetting;
import com.miyake.dsp.converter.WindowSetting;
import com.miyake.dsp.convolution.ConvolutionImplOctave;
import com.miyake.dsp.convolution.ConvolutionProxy;
import com.miyake.dsp.convolution.ConvolutionSetting;
import com.miyake.dsp.convolution.ConvolutionProxy.Engine;
import com.miyake.dsp.filter.Filter;
import com.miyake.dsp.fitting.FittingSetting;

public class OctaveFactory implements ProcessorFactory {

	private double frequency;

	public OctaveFactory(double frequency) {
		this.frequency = frequency;
	}


	@Override
	public Processor createDiff() {
		return new DiffImplOctave();
	}

	@Override
	public Processor createFFT() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void setSamplingFrequency(double frequency) {
		this.frequency = frequency;
	}

	@Override
	public Processor createConvolution(ConvolutionSetting setting) {
		return new ConvolutionProxy(setting, Engine.octave);
	}

	@Override
	public Processor createAbsolute() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Processor createOffset(OffsetSetting setting) {
		// TODO Auto-generated method stub
		return null;
	}


	@Override
	public Filter createFilter(com.miyake.dsp.filter.FilterSetting setting) {
		// TODO Auto-generated method stub
		return null;
	}


	@Override
	public Processor createRc(RcSetting setting) {
		// TODO Auto-generated method stub
		return null;
	}


	@Override
	public Processor createMovingAverage(MovingAverageSetting setting) {
		// TODO Auto-generated method stub
		return null;
	}


	@Override
	public Processor createAmplifier(AmplifierSetting setting) {
		// TODO Auto-generated method stub
		return null;
	}


	@Override
	public Processor createFitting(FittingSetting setting) {
		// TODO Auto-generated method stub
		return null;
	}


	@Override
	public Processor createWindow(WindowSetting setting) {
		// TODO Auto-generated method stub
		return null;
	}

}
